A multi-stream storage device is capable of processing data in multiple streams. For example, data access to the multi-stream storage device can be separated in multiple streams, and data in each stream can be written together. Data that are logically associated or that have a similar lifetime and/or an update frequency can be grouped together to improve the efficiency of the multi-stream storage device.
Various multi-stream schemes have been developed and employed to improve the performance and endurance of a solid-state drive (SSD). The number of streams that can be serviced at the same time is limited due to the limited resources available within the SSD such as a CPU and a memory. When a host (or a server) wants to use more streams than the supported number of streams, the host can close an open stream and open a new stream. Alternatively, the SSD itself can implicitly close an open stream, open a new stream, and service the data access request by the host in the new stream as needed. In response to the host's command to close a stream or when the SSD needs to implicitly close a stream, the SSD must determine which victim stream to close among the open streams.